package com.mysoft.gfyx.workbench.controller.dto;

import lombok.Data;

import java.util.List;

@Data
public class NewTjProfitRequestDto {
    private String taskId;
    private String deliveryNo;
    private String deliveryBatchNo;
    private String enterpriseId;
    private String enterpriseName;
    private String enterpriseCode;
    private String tenantCode;
    private String tenantName;
    private String customerId;
    private String customerCode;
    private String customerName;
    private String customerShortName;
    private String topCustomerId;
    private String topCustomerName;
    private String customerCorpId;
    private String customerCorpName;
    private String masterId;
    private String masterUserName;
    private String masterName;
    private String masterPhone;
    private String masterEmail;
    private String envType;
    private String isSpecialApproval;
    private String specialApprovalType;
    private String specialType;
    /**
     * 合同列表
     */
    private Object contracts;
    private List<AppAuth> appAuths;
    private String lastModificationTime;
    private String creationTime;

    @Data
    public static class AppAuth {
        private String appId;
        private String appName;
        private String deliveryNo;
        private String productId;
        private String productCode;
        private String productName;
        private String relationId;
        private String relationIdType;
        private String appCode;
        private String appType;
        private String appEffectiveStartTime;
        private String appEffectiveEndTime;
        private String erpUserCount;
        private List<Auth> auths;
    }

    @Data
    public static class Auth {
        private String authId;
        private String lastModificationTime;
        private String creationTime;
        private String signType;
        private String authNum;
        private String maxNum;
        private String authStandard;
        private String authPeriod;
        private String authType;
        private String authTypeCode;
        private List<Project> projects;
        private String effectiveStartTime;
        private String effectiveEndTime;
    }

    @Data
    public static class Project {
        private String projectId;
        private String projectName;
    }
}
